#ifndef DEF_H
#define DEF_H

typedef unsigned long long  INT64U;
typedef long long           INT64S;
typedef unsigned int        INT32U;
typedef unsigned short      INT16U;
typedef int                 INT32S;
typedef short int           INT16S;
typedef unsigned char       INT08U;
typedef	char                INT08S;
typedef unsigned char       BOOL;
typedef float               FP32;
typedef double              FP64;

typedef union {
    FP32 FValue;
    INT08U BValue[4];
} UN_FP;

typedef union {
    FP32 FValue;
    INT32U IValue;
    INT32S ISValue;
    INT08U BValue[4];
} UN_FIB;

typedef struct{
    INT08U day;
    INT08U month;
    INT16U year;
    FP64   dateF;
} DATE_FP64_I;

typedef union {
    INT32U IValue;
    INT08U BValue[4];
} UN_INT;

typedef union {
    INT64U LLValue;
    INT08U BValue[8];
} UN_8BYTES;

typedef enum {
    FORMAT_FP = 0,
    FORMAT_INTU32,
    FORMAT_INTS32,
    FORMAT_INTU8,
} DATA_FORMATE;

#endif // DEF_H
